home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_0799 / 732 < prev    next >
Internet Message Format  |  1994-08-27  |  2KB

  1. Date: Sat, 9 Jul 1994 23:40:03 -0400 (EDT)
  2. From: Timothy Miller <millert@undergrad.csee.usf.edu>
  3. Subject: Re: Gem Listing (fwd)
  4. To: gem-list@world.std.com
  5. In-Reply-To: <memo.600496@cix.compulink.co.uk>
  6. Message-Id: <Pine.3.87.9407092303.B3776-0100000@grad>
  7. Mime-Version: 1.0
  8. Precedence: bulk
  9.  
  10. Goemon:
  11.  
  12. ]> Who said it was difficult?  We're not talking about difficulty.  We were
  13. ]> talking about system overhead and wasted time.
  14. ]>
  15. ]> What's difficult is making a larger-than-1-pixel rectangle so that your
  16. ]> app doesn't have to be called for every mouse movement, and system time
  17. ]> doesn't have to be wasted.
  18. ]The only time this will happen is when the application is topped. If it's
  19. ]not topped, then a click in one of the windows will send an event to
  20. ]the app to "wake up".
  21. ]
  22. ]Even so, the overhead is *miniscule*. I've got it in my head to write a
  23. ]benchmark program to compare overheads of different methods, and put this
  24. ]argument to rest permanently.
  25.  
  26. You're missing the point.  If the OS has a large rectangle to compare 
  27. against, and the mouse moves, it only has to check a few numbers.  ONLY 
  28. when the OS finds the pointer entering or leaving the rectangle does it 
  29. have to go back to your program.
  30.  
  31. If you use a 1-pixel rectangle, then EVERY mouse movement goes back to 
  32. your program, and your program has to do an objc_find, EVERY TIME.
  33.  
  34. In a single-tasking environment, it doesn't matter which you do, but in a 
  35. multitasking environment, the OS having to go back to your program for 
  36. EVERY mouse movement creates a tremendous amount of overhead that is very 
  37. wasteful.  Compare running your code for every 1 mouse movement to 
  38. running your code for every 20 mouse movements.
  39.  
  40. The OS code has to run every time, but your code doesn't because it only 
  41. needs to know about certain entries/exist, and to call your EXTRA CODE 
  42. repeatedly to do nothing but realize that it needn't do anything is wasteful.
  43.  
  44.  
  45.  
  46.